package games.gong.durid.service;

import games.gong.durid.entity.RolePermission;

import java.util.List;

public interface RolePermissionService {
    
    /**
     * 添加角色权限关联
     * @param rolePermission 角色权限关联信息
     * @return 添加的角色权限关联数量
     */
    int addRolePermission(RolePermission rolePermission);
    
    /**
     * 删除角色权限关联
     * @param id 角色权限关联ID
     * @return 删除的角色权限关联数量
     */
    int deleteRolePermission(Long id);
    
    /**
     * 根据角色ID和权限ID删除角色权限关联
     * @param roleId 角色ID
     * @param permissionId 权限ID
     * @return 删除的角色权限关联数量
     */
    int deleteRolePermissionByRoleIdAndPermissionId(Long roleId, Long permissionId);
    
    /**
     * 根据ID获取角色权限关联
     * @param id 角色权限关联ID
     * @return 角色权限关联信息
     */
    RolePermission getRolePermissionById(Long id);
    
    /**
     * 根据角色ID获取角色权限关联列表
     * @param roleId 角色ID
     * @return 角色权限关联列表
     */
    List<RolePermission> getRolePermissionsByRoleId(Long roleId);
    
    /**
     * 根据权限ID获取角色权限关联列表
     * @param permissionId 权限ID
     * @return 角色权限关联列表
     */
    List<RolePermission> getRolePermissionsByPermissionId(Long permissionId);
}